package com.pm.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pm.entity.Task;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 任务Mapper接口
 */
@Mapper
public interface TaskMapper extends BaseMapper<Task> {
    
    /**
     * 根据项目ID查找任务
     * @param projectId 项目ID
     * @return 任务列表
     */
    @Select("SELECT * FROM tasks WHERE project_id = #{projectId}")
    List<Task> findByProjectId(String projectId);
    
    /**
     * 根据分配人ID查找任务
     * @param assigneeId 分配人ID
     * @return 任务列表
     */
    @Select("SELECT * FROM tasks WHERE assignee_id = #{assigneeId}")
    List<Task> findByAssigneeId(String assigneeId);
    
    /**
     * 根据创建人ID查找任务
     * @param creatorId 创建人ID
     * @return 任务列表
     */
    @Select("SELECT * FROM tasks WHERE creator_id = #{creatorId}")
    List<Task> findByCreatorId(String creatorId);
    
    /**
     * 根据状态查找任务
     * @param status 任务状态
     * @return 任务列表
     */
    @Select("SELECT * FROM tasks WHERE status = #{status}")
    List<Task> findByStatus(String status);
}